Electronic devices, such as televisions, tablets, e-readers, are increasingly becoming network connected devices, allowing such devices to download content and communicate with a server over the Internet. In some applications, such devices are configured to automatically display certain content, such as an advertisement. Although these devices are connected to the Internet, it is beneficial to cache some content locally on the device so that content can be available as soon as the user turns on the device, decreasing the latency that may exist if the device has to make a call to a server to fetch content to display at start up, thereby providing faster content rendering for an improved user experience. The selection of content to be displayed for each display instance on the client device may be subject to a set of rules (e.g., display order of certain content, display frequency of certain content) requiring the client device to carry out the logic of content selection. The rules of content selection may change frequently, and the software on the client device needs to be updated to support the new logic. However, updating client-side software can be complex and resource intensive.